/*
 *    Copyright (c) 2018-2025, lengleng All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the pig4cloud.com developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: lengleng (wangiegie@gmail.com)
 */

import request from "@/router/axios";

export function fetchList(query) {
  return request({
    url: "/admin/user/page",
    method: "get",
    params: query,
  });
}
export function fetchListSimple(query) {
  return request({
    url: "/admin/user/page/simple",
    method: "get",
    params: query,
  });
}

export function queryListSimple(query) {
  return request({
    url: "/admin/user/list/simple",
    method: "get",
    params: query,
  });
}

export function roleCodeArray(obj) {
  return request({
    url: "/admin/user/roleCodeArray",
    method: "post",
    data: obj,
  });
}

export function addObj(obj) {
  return request({
    url: "/admin/user",
    method: "post",
    data: obj,
  });
}

export function getObj(id) {
  return request({
    url: "/admin/user/" + id,
    method: "get",
  });
}

export function delObj(id) {
  return request({
    url: "/admin/user/" + id,
    method: "delete",
  });
}

export function putObj(obj) {
  return request({
    url: "/admin/user",
    method: "put",
    data: obj,
  });
}

export function getDetails(obj) {
  return request({
    url: "/admin/user/details/" + obj,
    method: "get",
  });
}

export function editInfo(obj) {
  return request({
    url: "/admin/user/edit",
    method: "put",
    data: obj,
  });
}

export function getUsersByRoleCode(arr) {
  return request({
    url: "/admin/user/roleCode",
    method: "post",
    data: arr,
  });
}
export function getSysmsginner(query) {
  return request({
    url: "/admin/sysmsginner/record/page",
    method: "get",
    params: query,
  });
}

export function readsysmsginner(obj) {
  return request({
    url: "/admin/sysmsginner/read/" + obj,
    method: "get",
  });
}

export function exportReport(query) {
  return request({
    url: "/admin/user/export",
    method: "get",
    params: query,
    responseType: "blob",
  });
}

export function readAll(query) {
  return request({
    url: "/admin/sysmsginner/readAll",
    method: "get",
    params: query,
  });
}


export function leaderAll(name) {
  return request({
    url: "/admin/user/deptLeader/" + name,
    method: "get"
  });
}

export function userSelectAll(keyword, name) {
  return request({
    url: "/admin/user/select/" + keyword + '/' + name,
    method: "get"
  });
}

export function checkList(list) {
  return request({
    url: "/admin/user/batchActive",
    method: "put",
    data: list,
  });
}


export function customize(list) {
  return request({
    url: "/admin/user/customize/quick",
    method: "post",
    data: list,
  });
}
